package cn.edu.lingnan.service;

import cn.edu.lingnan.pojo.Student;

import java.util.List;

public interface StudentService {
    //这里是一个新增学生的方法
    //输入参数是：学生对象，
    //输出参数是：boolean
    //如果新增成功返回true，否则返回false
    public boolean newStudent(Student _student);

    //这是一个登录方法
    // 输入参数是：用户名和密码，输出参数是：boolean
    //如果登录成功返回true，否则返回false
    public Student findStudentBySidAndPassword(String _sid,String _password);


    //这是一个查询所有学生的方法，无，
    //输出参数是：学生对象的集合
    public List<Student> findStudnetAll();


    //这是一个按sid查询学生的方法
    // 输入参数是：sid
    // 输出参数是：对应的学生记录，也就是一个学生对象
    public Student findStudentBySid(String _sid);


    //这是一个按姓名查询学生的方法，这里采用模糊查询
    //输入参数是：字符串（可能是一个不完整的姓名）
    //输出参数是：对应的学生记录（学生对象集合）
    public List<Student> findStudentBySname(String _sname);


    //这是用于删除一条学生记录的方法
    //输入参数是：sid
    //输出参数是：boolean
    //如果删除成功返回true，否则返回false
    public boolean deleteStudentBySid(String _sid);


    //这里是一个更改学生姓名的方法
    //输入参数是sid，_sname
    //输出参数是boolean
    //如果更改成功返回true，否则返回false
    public boolean updateNameBySid(String _sid,String _sname);


    //这里是一个更改学生密码的方法
    //输入参数是sid，_password
    //输出参数是boolean
    //如果更改成功返回true，否则返回false
    public boolean updatePasswordBySid(String _sid,String _password);


    //这里是一个更改学生权限的方法
    //输入参数是sid，_sright
    //输出参数是boolean
    //如果更改成功返回true，否则返回false
    public boolean updateSrightBySid(String _sid,String _sright);


    //这里是一个更改学生备注的方法
    //输入参数是sid，_sflag
    //输出参数是boolean
    //如果更改成功返回true，否则返回false
    public boolean updateSflagBySid(String _sid,String _sflag);


    //更新学生所有信息
    public boolean updateStudent(Student student);
}
